package utils;

public class CommonUtils {
    /**
     * 作用: 交换两个int数
     *
     * @param numA 参数A
     * @param numB 参数B
     */
    public static void swap(int numA, int numB) {
        int tmp = numA;
        numA = numB;
        numB = tmp;
    }
    /**
     * 作用: 不申请额外数组中两个元素的交换变量位置
     *
     * @param arr 待交换元素位置的数组
     * @param i   元素A的位置偏移
     * @param j   元素B的位置偏移
     */
    public static void swap(int[] arr, int i, int j) {
        if (i == j)
            throw new RuntimeException("该操作会造成数据清零, 禁止交换同位置上的数");
        arr[i] = arr[i] ^ arr[j];
        arr[j] = arr[i] ^ arr[j];
        arr[i] = arr[i] ^ arr[j];
    }
}
